package main

import "fmt"

/**
指针
Go 拥有指针。指针保存了值的内存地址。

类型 *T 是指向 T 类型值的指针。其零值为 nil。

var p *int
& 操作符会生成一个指向其操作数的指针。

i := 42
p = &i
* 操作符表示指针指向的底层值。

fmt.Println(*p) // 通过指针 p 读取 i
*p = 21         // 通过指针 p 设置 i
这也就是通常所说的“间接引用”或“重定向”。

与 C 不同，Go 没有指针运算。
*/

func main() {
	//创建两个变量
	i, j := 42, 2701
	//指向i
	p := &i
	//通过指针读取i的值
	fmt.Println(*p)
	//通过指针设置i的值
	*p = 21
	//查看i的值
	fmt.Println(i)

	//指向j
	p = &j
	//通过指针对j进行除法运算
	*p = *p / 37
	//查看j的值
	fmt.Println(j)
}
